#ifndef _APPLICATION_H_
#define _APPLICATION_H_


#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Error.h"
#include ".\Container\SurfaceContainer.h"
#include ".\Factory\TextureFactory.h"
#include ".\Factory\FigureFactory.h"
#include ".\Factory\ColorFactory.h"
#include ".\Container\FigureContainer.h"
#include ".\Container\TextureContainer.h"
#include ".\Figure\Figure.h"
#include ".\Texture\Texture.h"
#include ".\Figure\Point.h"
#include ".\Figure\Segment.h"
#include ".\Figure\Square.h"
#include ".\Figure\Rectangle.h"
#include ".\Figure\Circle.h"
#include ".\Color\Color.h"
#include ".\Logger\Logger.h"
#include ".\Parser\XMLParser.h"
#include ".\Graficador\Graficador.h"
#include ".\Manager\ObjectManager.h"
#include ".\Exceptions\closeLoggerExcep.h"
#include ".\Exceptions\parsingExcep.h"
#include <map>
#include <stdio.h>
#include <string>
#include <iostream>
#include <fstream>

class Application {
	
	public:

		bool parseCommandLine(int arcg, char* argv[]);
	
		virtual ~Application();

		static Application* getInstance();

		int run();

		static void destroy();


	private:

		Application();
		
		char* filePath;

		static Application* instance;

};

#endif
